<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie du plugin «Album» pour Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class pAlbumServiceAdmin
{
	
	
	protected static function getPage()
	{

		global $core;
		
		$page = $core->site->getPages(array(
			'page_id' => (integer) $_POST['page_id'],
			'page_generateur' => 'album'
		), CP_GET_STATIC, CP_TEMPORAIRE);
	
		if($page->isEmpty()) {
			throw new cpErreur(__('Donnée invalide'), 'page_id', 301);
		}
		
		# Vérification des permissions
		if(	!$core->auth->verifierPermission('pages') ||
			($page->utilisateur_id != $core->auth->getUtilisateurID() &&
			 !$core->auth->verifierPermission('toutesPages') )
		) {
			throw new cpErreur('Vous ne pouvez pas modifier cette page.', 'pages', 201);
		}
		
		return $page;
		
	}
	
	
	public static function ajouter()
	{
		
		global $core;
		
		if(!is_array($_POST['media_id']) || empty($_POST['media_id'])) {
			throw new cpErreur('Aucun média spécifié', 'media_id', 101);
		}
		
		$page = self::getPage();;
		
		$medias = $core->site->getMedias(array(
			'media_id' => array('=' => $_POST['media_id']),
			'media_type' => array('like' => array('image/%'))
		), CP_GET_RS);
		$options = $page->page_options;
		
		while($medias->fetch()) {
			if(!in_array($medias->media_id, $options['medias'])) {
				$options['medias'][] = (integer) $medias->media_id;
			}
		}
				
		$cur = $core->con->openCursor($core->prefix.'temp_pages');
		$cur->page_options = $options;
		$page->enregistrer($cur);
		
	}
	
	
	public static function retirer()
	{
		
		global $core;
		
		if(!is_array($_POST['media_id'])) {
			throw new cpErreur('Aucun média spécifié', 'media_id', 101);
		}
		
		$page = self::getPage();
		
		$options = $page->page_options;
		
		foreach($_POST['media_id'] as $media_id) {
			if(($i = array_search($media_id, $options['medias'])) !== false) {
				unset($options['medias'][$i]);
			}
		}
				
		$cur = $core->con->openCursor($core->prefix.'temp_pages');
		$cur->page_options = $options;
		$page->enregistrer($cur);
		
	}
	
	
}

?>